modularize some elements, start revamping user additions