added all my previous code