i went a bit overboard for this ask but thats ok