basic ui
basic logic
ginore
plist
ignore