works with formatting and everthing else