Changed main class to be final
Added metadata system